;SERGIO ORTIZ GIL
;DANIEL SAÑUDO VACAS
;RAUL VIUDEZ CORROTO
;
;
;
;
;
;	introducidos por el usuario:
;	anios : <27, 27-45, >45
;	experiencia: estudiando, poca, mucha
;	motivacion: dinero, realizacion
;
;	obtenidos:
;	edad : joven, adulto, mayor
;	tipoPersona : joven trabajador, promesa, competente, inexperto.
;



;R1 :Si anios <27 edad = joven
(defrule R1
	(anios <27)
	=>
	(assert (edad joven))
)

;R2 :Si anios 27-45 edad = adulto
(defrule R2
	(anios 27-45)
	=>
	(assert (edad adulto))
)

;R3 :Si anios  >45 edad = mayor
(defrule R3
	(anios >45)
	=>
	(assert (edad mayor))
)

;R4:Si edad=joven Y experiencia = mucha ENTONCES tipoPersona = joven trabajador
(defrule R4
	(edad joven)
	(experiencia mucha)
	=>
	(assert (tipoPersona joven trabajador))
)

;R5:Si edad=joven Y experiencia = estudiando ENTONCES tipoPersona = promesa
(defrule R5
	(edad joven)
	(experiencia estudiando)
	=>
	(assert (tipoPersona promesa))
)

;R6:Si edad=joven Y experiencia = poca ENTONCES tipoPersona = inexperto
(defrule R6
	(edad joven)
	(experiencia poca)
	=>
	(assert (tipoPersona inexperto))
)

;R7:Si edad = adulto y experiencia = estudiando ENTONCES consejo: "Centrate en finalizar tus estudios pues una vez finalizados no te sera dificil ;encontrar un buen trabajo"
(defrule R7
	(edad adulto)
	(experiencia estudiando)
	=>
	(call ?*writer* write "Centrate en finalizar tus estudios pues una vez finalizados no te sera dificil ;encontrar un buen trabajo")
    (call ?*writer* newLine)
    (call ?*writer* close))

;R8:Si edad=adulto Y experiencia = poca ENTONCES consejo="Intenta mantener una entrevista para que vean tus ganas, muestra experiencia sobre ;la vida, dado que el curriculum no sera tu fuerte".
(defrule R8
	(edad adulto)
	(experiencia poca)
	=>
	(call ?*writer* write "Intenta mantener una entrevista para que vean tus ganas, muestra experiencia sobre la vida, dado que el curriculum no sera tu fuerte")
    (call ?*writer* newLine)
    (call ?*writer* close))

;R9:Si edad=adulto Y experiencia = mucha ENTONCES tipoPersona = competente.
(defrule R9
	(edad adulto)
	(experiencia mucha)
	=>
	(assert (tipoPersona competente))
)

;R10:Si edad=mayor Y experiencia = mucha ENTONCES tipoPersona = competente.
(defrule R10
	(edad mayor)
	(experiencia mucha)
	=>
	(assert (tipoPersona competente))
)

;R11:Si edad=mayor Y experiencia = poca ENTONCES consejo="Intenta mantener una entrevista para que vean tus ganas, muestra experiencia sobre la vida, dado que el curriculum no sera tu fuerte".
(defrule R11
	(edad mayor)
	(experiencia poca)
	=>
	(call ?*writer* write "Intenta mantener una entrevista para que vean tus ganas, muestra experiencia sobre la vida, dado que el curriculum no sera tu fuerte")
    (call ?*writer* newLine)
    (call ?*writer* close))

;R12:Si tipoPersona = inexperto Y motivacion = realización personal ENTONCES consejo:"Aún estas a tiempo de realizar unos estudios que te den una ;proyección, escoge una matería y comienza tu preparación"
(defrule R12
	(tipoPersona inexperto)
	(motivacion realización personal)
	=>
	(call ?*writer* write "Aun estas a tiempo de realizar unos estudios que te den una ;proyeccion, escoge una materia y comienza tu preparacion")
    (call ?*writer* newLine)
    (call ?*writer* close))

;R13:Si tipoPersona = inexperto Y motivacion = dinero ENTONCES consejo:"Aún necesitaras formación cualquier curso rapido te puede preparar ;para conseguir rapidamente un buen empleo"
(defrule R13
	(tipoPersona inexperto)
	(motivacion dinero)
	=>
	(call ?*writer* write "Aun necesitaras formacion cualquier curso rapido te puede preparar ;para conseguir rapidamente un buen empleo")
    (call ?*writer* newLine)
    (call ?*writer* close))

;R14:Si tipoPersona = promesa Y motivacion = realización personal ENTONCES consejo:"Mira en becas e investigaciones estatales que te parezcan ;interesantes sin guiarte por la remuneración"
(defrule R14
	(tipoPersona promesa)
	(motivacion realizacion)
	=>
	(call ?*writer* write "Mira en becas e investigaciones estatales que te parezcan ;interesantes sin guiarte por la remuneracion")
    (call ?*writer* newLine)
    (call ?*writer* close))

;R15:Si tipoPersona = promesa Y motivacion = dinero ENTONCES consejo:"Paciencia, termina tus estudios cuanto antes y busca trabajo, puedes compatibilizar el estudio con una beca en una empresa"
(defrule R15
	(tipoPersona promesa)
	(motivacion dinero)
	=>
	(call ?*writer* write "Paciencia, termina tus estudios cuanto antes y busca trabajo, puedes compatibilizar el estudio con una beca en una empresa")
    (call ?*writer* newLine)
    (call ?*writer* close))

;R16:Si tipoPersona = competente Y motivacion = realización personal ENTONCES consejo:"Aprovecha tu experiencia, podras conseguir lo que te ;propongas"
(defrule R16
	(tipoPersona competente)
	(motivacion realizacion)
	=>
	(call ?*writer* write "Aprovecha tu experiencia, podras conseguir lo que te propongas")
    (call ?*writer* newLine)
    (call ?*writer* close))

;R17:Si tipoPersona = competente Y motivacion = dinero ENTONCES consejo:"A través de tu experiencia puedes convencer de que tu trabajo ;debe ser bien remunerado"
(defrule R17
	(tipoPersona competente)
	(motivacion dinero)
	=>
	(call ?*writer* write "A traves de tu experiencia puedes convencer de que tu trabajo debe ser bien remunerado")
    (call ?*writer* newLine)
    (call ?*writer* close))

;R18:Si tipoPersona = joven trabajador Y motivacion = realizacion ENTONCES consejo: "La experiencia laboral ya la tienes, puedes buscar ;formación especializada"
(defrule R18
	(tipoPersona joven trabajador)
	(motivacion realizacion)
	=>
	(call ?*writer* write "La experiencia laboral ya la tienes, puedes buscar formacion especializada")
    (call ?*writer* newLine)
    (call ?*writer* close))


;R19:Si tipoPersona = joven trabajador Y motivacion = dinero ENTONCES consejo:"Estas en el buen camino, quizas te venga bien algo de ;formación, busca empresas que ofrezcan procesos de formación"
(defrule R19
	(tipoPersona joven trabajador)
	(motivacion dinero)
	=>
	(call ?*writer* write "Estas en el buen camino, quizas te venga bien algo de ;formacion, busca empresas que ofrezcan procesos de formacion")
    (call ?*writer* newLine)
    (call ?*writer* close))

(defglobal ?*file* = ( new java.io.OutputStreamWriter ( new java.io.FileOutputStream "C://salida.txt" ) ) )
(defglobal ?*writer* = ( new java.io.BufferedWriter ?*file* ) )

(run)